      Hide Hack 2.01 for vBulletin 3.03 - vBStyles.com 
      Copyright 
      This file may not be redistributed in whole or significant part. 
      Copyright  20022004 vBStyles.com All Rights Reserved 
      Please Read 
      Follow the steps below to install the Hide Hack.

      Please note the Phrases in this document are provided as refrence only.
      We invite you to customize them to suit your board.
      If you wish to use our Phrases simply upload the 
      \Phrases\vbulletin-language.xml file to your
      AdminCP >> Languages & Phrases >> Download / Upload Languages.

      Upload the following images to your forum "images" directory:

        hidden.gif 
        unhidden.gif 
        hide.gif
      Upload "functions_hide.php" to your forum "inludes" directory. 

      To enalbe the Hide BB Code Button simply go to your
      >> AdminCP >> Custom BB Codes >> Add New BB Code
      and follow the instruction in this document. 
      File to edit: 
        /includes/functions_forumdisplay.php 
        /includes/functions_showthread.php 
        newreply.php 
        printthread.php 
        search.php 
        /archive/index.php 
        /admincp/forum.php 

      Query to run : 
        SQL Query

      New Phrases : 
        enable_disable_hide_hack 
        show_hide_hack 
        post_hidden 
        post_unhidden_1 
        post_unhidden_2 
        quote_hidden 
        preview_hidden 
        print_hidden 
        search_hidden 
        archive_hidden 

      New BB Code : 
        BB Code


      1 Open: /includes/functions_forumdisplay.php 
      Look for: 
error_reporting(E_ALL & ~E_NOTICE);
      Add Below : 
// [hide] [/hide] Start ---------------------------------------
require_once('./includes/functions_hide.php');
// [hide] [/hide] End -----------------------------------------


      Look for: 
// format thread preview if there is one
if ($ignore["$thread[postuserid]"])
{
$thread['preview'] = '';
}
else if (isset($thread['preview']) AND $vboptions['threadpreview'] > 0)
{
      Add Below : 
// [hide] [/hide] Start ---------------------------------------
if (substr($thread['preview'],0,6)=="[hide]"){$thread['preview'] = str_replace("[hide]"," [hide]",$thread['preview']); }
if ($hide_shown == 0) { 
for ($i = lock_count($thread['preview'],"[hide]"); $i > 0; $i--) { 
$lock_part1 = strpos($thread['preview'], "[hide]");
$lock_part2 = (strpos($thread['preview'],"[/hide]")-strpos($thread['preview'],"[hide]"))+7;
$lock_mess = substr ($thread['preview'], $lock_part1, $lock_part2);
$thread['preview'] = str_replace( $lock_mess, "$vbphrase[preview_hidden]", $thread['preview']);
} 
 } 
// [hide] [/hide] End -----------------------------------------
      Close and Save functions_forumdisplay.php 

      2 Open: /includes/functions_showthread.php 
      Look for: 
require_once('./includes/functions_bbcodeparse.php');

      Add Below : 
// [hide] [/hide] Start ---------------------------------------
require_once('./includes/functions_hide.php');
// [hide] [/hide] End -----------------------------------------


      Look for: 
// sorts through all the stuff to return the postbit template
      Add Below : 
// [hide] [/hide] Start ---------------------------------------
global $DB_site,$threadid;
// [hide] [/hide] End -----------------------------------------

      Look for: 
$post['message'] = handle_bbcode_img($post['pagetext_html'], $forum['allowimages']);
      Add Below : 
// [hide] [/hide] Start ---------------------------------------
$hide_shown = 0; 
if (substr($post[message],0,6)=="[hide]"){$post[message] = str_replace("[hide]"," [hide]",$post[message]); }
if ($session[userid] != 0){
if ($forum[hide_hack] == 1){
$hideisadmin = $DB_site->query("SELECT " . TABLE_PREFIX . "user.usergroupid FROM " . TABLE_PREFIX . "usergroup," . TABLE_PREFIX . "user WHERE " . TABLE_PREFIX . "usergroup.usergroupid = " . TABLE_PREFIX . "user.usergroupid AND " . TABLE_PREFIX . "user.userid = '$session[userid]'"); 
$hideisadmin  = $DB_site->fetch_array($hideisadmin); 
$thez_posts=$DB_site->query("SELECT " . TABLE_PREFIX . "post.userid FROM " . TABLE_PREFIX . "post WHERE " . TABLE_PREFIX . "post.threadid='$threadid'");
while ($the_posts = $DB_site->fetch_array($thez_posts)) {
if(($the_posts[userid] == $session[userid]) || ($hideisadmin[usergroupid] == 6)) { 
$post[message] = str_replace("[hide]","$vbphrase[post_unhidden_1]",$post[message]);
$post[message] = str_replace("[/hide]","$vbphrase[post_unhidden_2]",$post[message]); 
$hide_shown = 1; 
} 
 }
  }
   }
if ($hide_shown == 0) { 
if ($forum[hide_hack] == 1){
for ($i = lock_count($post[message],"[hide]"); $i > 0; $i--) { 
$lock_part1 = strpos($post[message], "[hide]");
$lock_part2 = (strpos($post[message],"[/hide]")-strpos($post[message],"[hide]"))+7;
$lock_mess = substr ($post[message], $lock_part1, $lock_part2);
$post[message] = str_replace( $lock_mess, "$vbphrase[post_hidden]",$post[message]);
} 
 } 
  }

// [hide] [/hide] End -----------------------------------------
      Look for: 
$post['message'] = &$post['pagetext_html'];
      Add Below : 
// [hide] [/hide] Start ---------------------------------------
$hide_shown = 0; 
if (substr($post[message],0,6)=="[hide]"){$post[message] = str_replace("[hide]"," [hide]",$post[message]); }
if ($session[userid] != 0){
if ($forum[hide_hack] == 1){
$hideisadmin = $DB_site->query("SELECT " . TABLE_PREFIX . "user.usergroupid FROM " . TABLE_PREFIX . "usergroup," . TABLE_PREFIX . "user WHERE " . TABLE_PREFIX . "usergroup.usergroupid = " . TABLE_PREFIX . "user.usergroupid AND " . TABLE_PREFIX . "user.userid = '$session[userid]'"); 
$hideisadmin  = $DB_site->fetch_array($hideisadmin); 
$thez_posts=$DB_site->query("SELECT " . TABLE_PREFIX . "post.userid FROM " . TABLE_PREFIX . "post WHERE " . TABLE_PREFIX . "post.threadid='$threadid'");
while ($the_posts = $DB_site->fetch_array($thez_posts)) {
if(($the_posts[userid] == $session[userid]) || ($hideisadmin[usergroupid] == 6)) { 
$post[message] = str_replace("[hide]","$vbphrase[post_unhidden_1]",$post[message]);
$post[message] = str_replace("[/hide]","$vbphrase[post_unhidden_2]",$post[message]); 
$hide_shown = 1; 
} 
 }
  }
   }
if ($hide_shown == 0) { 
if ($forum[hide_hack] == 1){
for ($i = lock_count($post[message],"[hide]"); $i > 0; $i--) { 
$lock_part1 = strpos($post[message], "[hide]");
$lock_part2 = (strpos($post[message],"[/hide]")-strpos($post[message],"[hide]"))+7;
$lock_mess = substr ($post[message], $lock_part1, $lock_part2);
$post[message] = str_replace( $lock_mess, "$vbphrase[post_hidden]",$post[message]);
} 
 } 
  }

// [hide] [/hide] End -----------------------------------------
      Look for: 
$post['message'] = parse_bbcode($post['pagetext'], $forum['forumid'], $post['allowsmilie']);
      Add Below : 
// [hide] [/hide] Start ---------------------------------------
$hide_shown = 0; 
if (substr($post[message],0,6)=="[hide]"){$post[message] = str_replace("[hide]"," [hide]",$post[message]); }
if ($session[userid] != 0){
if ($forum[hide_hack] == 1){
$hideisadmin = $DB_site->query("SELECT " . TABLE_PREFIX . "user.usergroupid FROM " . TABLE_PREFIX . "usergroup," . TABLE_PREFIX . "user WHERE " . TABLE_PREFIX . "usergroup.usergroupid = " . TABLE_PREFIX . "user.usergroupid AND " . TABLE_PREFIX . "user.userid = '$session[userid]'"); 
$hideisadmin  = $DB_site->fetch_array($hideisadmin); 
$thez_posts=$DB_site->query("SELECT " . TABLE_PREFIX . "post.userid FROM " . TABLE_PREFIX . "post WHERE " . TABLE_PREFIX . "post.threadid='$threadid'");
while ($the_posts = $DB_site->fetch_array($thez_posts)) {
if(($the_posts[userid] == $session[userid]) || ($hideisadmin[usergroupid] == 6)) { 
$post[message] = str_replace("[hide]","$vbphrase[post_unhidden_1]",$post[message]);
$post[message] = str_replace("[/hide]","$vbphrase[post_unhidden_2]",$post[message]); 
$hide_shown = 1; 
} 
 }
  }
   }
if ($hide_shown == 0) { 
if ($forum[hide_hack] == 1){
for ($i = lock_count($post[message],"[hide]"); $i > 0; $i--) { 
$lock_part1 = strpos($post[message], "[hide]");
$lock_part2 = (strpos($post[message],"[/hide]")-strpos($post[message],"[hide]"))+7;
$lock_mess = substr ($post[message], $lock_part1, $lock_part2);
$post[message] = str_replace( $lock_mess, "$vbphrase[post_hidden]",$post[message]);
} 
 } 
  }

// [hide] [/hide] End -----------------------------------------
      Close and Save functions_showthread.php 

      3 Open: newreply.php 
      Look for: 
require_once('./includes/functions_bigthree.php');
      Add Below : 
// [hide] [/hide] Start ---------------------------------------
require_once('./includes/functions_hide.php');
// [hide] [/hide] End -----------------------------------------


      Look for: 
$postdate = vbdate($vboptions['dateformat'], $postinfo['dateline']);
$posttime = vbdate($vboptions['timeformat'], $postinfo['dateline']);
$pagetext = htmlspecialchars_uni($postinfo['pagetext']);
$pagetext = trim(strip_quotes($pagetext));

      Add Below : 
// [hide] [/hide] Start ---------------------------------------
if ($foruminfo[hide_hack] == 1){
$pagetext = preg_replace("/(\[hide\](.*)\[\/hide\])/si", "$vbphrase[quote_hidden]", $pagetext);
}
else {
}
// [hide] [/hide] End -----------------------------------------
      Look for: 
$originalposter = fetch_quote_username($getpost['username']);
$pagetext = trim(strip_quotes($getpost['pagetext']));
      Add Below : 
// [hide] [/hide] Start ---------------------------------------
if ($foruminfo[hide_hack] == 1){
$pagetext = preg_replace("/(\[hide\](.*)\[\/hide\])/si", "$vbphrase[quote_hidden]", $pagetext);
}
else {
}
// [hide] [/hide] End -----------------------------------------
      Look for: 
require_once('./includes/functions_bbcodeparse.php');
$reviewmessage = parse_bbcode($post['pagetext'], $foruminfo['forumid'], $post['allowsmilie']);

      Add Below : 
// [hide] [/hide] Start ---------------------------------------
$hide_shown = 0; 
if (substr($reviewmessage,0,6)=="[hide]"){$reviewmessage = str_replace("[hide]"," [hide]",$reviewmessage); }
if ($session[userid] != 0){
if ($foruminfo[hide_hack] == 1){
$hideisadmin = $DB_site->query("SELECT " . TABLE_PREFIX . "user.usergroupid FROM " . TABLE_PREFIX . "usergroup," . TABLE_PREFIX . "user WHERE " . TABLE_PREFIX . "usergroup.usergroupid = " . TABLE_PREFIX . "user.usergroupid AND " . TABLE_PREFIX . "user.userid = '$session[userid]'"); 
$hideisadmin  = $DB_site->fetch_array($hideisadmin); 
$thez_posts=$DB_site->query("SELECT " . TABLE_PREFIX . "post.userid FROM " . TABLE_PREFIX . "post WHERE " . TABLE_PREFIX . "post.threadid='$threadid'");
while ($the_posts = $DB_site->fetch_array($thez_posts)) {
if(($the_posts[userid] == $session[userid]) || ($hideisadmin[usergroupid] == 6)) { 
$reviewmessage = str_replace("[hide]","$vbphrase[post_unhidden_1]",$reviewmessage);
$reviewmessage = str_replace("[/hide]","$vbphrase[post_unhidden_2]",$reviewmessage); 
$hide_shown = 1; 
} 
 }
  }
   }
if ($hide_shown == 0) { 
if ($foruminfo[hide_hack] == 1){
for ($i = lock_count($reviewmessage,"[hide]"); $i > 0; $i--) { 
$lock_part1 = strpos($reviewmessage, "[hide]");
$lock_part2 = (strpos($reviewmessage,"[/hide]")-strpos($reviewmessage,"[hide]"))+7;
$lock_mess = substr ($reviewmessage, $lock_part1, $lock_part2);
$reviewmessage = str_replace( $lock_mess, "$vbphrase[post_hidden]",$reviewmessage);
} 
 } 
  }
// [hide] [/hide] End -----------------------------------------
      Close and Save newreply.php 

      4 Open: printthread.php 
      Look for: 
require_once('./includes/functions_bigthree.php');
      Add Below : 
// [hide] [/hide] Start ---------------------------------------
require_once('./includes/functions_hide.php');
// [hide] [/hide] End -----------------------------------------


      Look for: 
if (!$post['userid'])
{
$post['username'] = $post['postusername'];
}
$post['message'] = parse_bbcode($post['pagetext'], $foruminfo['forumid'], 0);
      Add Below : 
// [hide] [/hide] Start ---------------------------------------
if (substr($post[message],0,6)=="[hide]"){$post[message] = str_replace("[hide]"," [hide]",$post[message]); }
if ($hide_shown == 0) { 
for ($i = lock_count($post[message],"[hide]"); $i > 0; $i--) { 
$lock_part1 = strpos($post[message], "[hide]");
$lock_part2 = (strpos($post[message],"[/hide]")-strpos($post[message],"[hide]"))+7;
$lock_mess = substr ($post[message], $lock_part1, $lock_part2);
$post[message] = str_replace( $lock_mess, "$vbphrase[print_hidden]",$post[message]);
} 
 } 
// [hide] [/hide] End -----------------------------------------
      Close and Save printthread.php 

      5 Open: search.php 
      Look for: 
require_once('./includes/functions_misc.php');

      Add Below : 
// [hide] [/hide] Start ---------------------------------------
require_once('./includes/functions_hide.php');
// [hide] [/hide] End -----------------------------------------


      Look for: 
// do not show post icon
else
{
$post['posticon'] = false;
$post['posticonpath'] = '';
$post['posticontitle'] = '';
}
      Add Below : 
// [hide] [/hide] Start ---------------------------------------
if (substr($post['pagetext'],0,6)=="[hide]"){$post['pagetext'] = str_replace("[hide]"," [hide]",$post['pagetext']); }
$i = lock_count($post['pagetext'],"[hide]");
if ($i >=1){
$post['pagetext'] = str_replace($post['pagetext'], "$vbphrase[search_hidden]",  $post['pagetext']);
} 
// [hide] [/hide] End -----------------------------------------
      Close and Save search.php 

      6 Open: /archive/index.php 
      Look for: 
require_once('./includes/functions_bigthree.php');
      Add Below : 
// [hide] [/hide] Start ---------------------------------------
require_once('./includes/functions_hide.php');
// [hide] [/hide] End -----------------------------------------


      Look for: 
$i = 0;
while ($post = $DB_site->fetch_array($posts))
{
$i++;
      Add Below : 
// [hide] [/hide] Start ---------------------------------------
$post['pagetext'] = preg_replace("/(\[hide\](.*)\[\/hide\])/si", "$vbphrase[archive_hidden]", $post['pagetext']);
// [hide] [/hide] End -----------------------------------------
      Close and Save /archive/index.php 

      7 Open: /admincp/forum.php 
      Look for: 
print_yes_no_row($vbphrase['allow_thread_ratings_in_this_forum'], 'options[allowratings]', $forum['allowratings']);
print_yes_no_row($vbphrase['count_posts_in_forum'], 'options[countposts]', $forum['countposts']);
print_yes_no_row($vbphrase['show_forum_on_forum_jump'], 'options[showonforumjump]', $forum['showonforumjump']);
      Add Below : 
// [hide] [/hide] Start ---------------------------------------
print_table_header($vbphrase['enable_disable_hide_hack']);
print_yes_no_row($vbphrase['show_hide_hack'], 'forum[hide_hack]', $forum['hide_hack']);
// [hide] [/hide] End -----------------------------------------
      Close and Save /admincp/forum.php 

      SQL Query 
      Run this SQL query on your database. Don't forget to add a prefix to 
      table's name if you use one in your config.php 
ALTER TABLE `forum` ADD `hide_hack` INT(1) DEFAULT '0' NOT NULL;
         

      New Phrases 
      1 Type : 
Control Panel Global
      1 Varname : 
enable_disable_hide_hack
      1 Phrase : 
Enable / Disable Hide Hack
      2 Type : 
Forum related
      2 Varname : 
show_hide_hack
      2 Phrase : 
Enable the "Hide Hack"
      3 Type : 
Global
      3 Varname : 
post_hidden
      3 Phrase : 
<div style="background-color: #FFB6B6; background-image: url(images/hidden.gif); background-position: right; background-repeat: no-repeat; border-left: 4px solid #FF1313; border-right: 1px dotted #FF1313; border-top: 1px dotted #FF1313; margin: 8px auto 0px auto; padding: 5px; 
color:#FF1313; font: 11px tahoma, verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"><b>Hidden Content</b></div>
<div style="background-color: #FFF0F0; border-bottom: 1px dotted #FF1313; border-left: 4px solid #FF1313; border-right: 1px dotted #FF1313; /*border-top: 1px dotted #FF1313;*/ color: #FF1313; font: 12px tahoma, verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif; margin: 0px auto 8px auto; padding: 5px;"><div style="margin:0px; padding:6px; border:0px inset; width:90%;  overflow:auto">
This post contain Hidden Information, <br />
you must reply to view the hidden content.
</div>
</div> 
      4 Type : 
Global
      4 Varname : 
post_unhidden_1
      4 Phrase : 
<div style="background-color: #DAFEC8; background-image: url(images/unhidden.gif); background-position: right; background-repeat: no-repeat; border-left: 4px solid #94ED68; border-right: 1px dotted #94ED68; border-top: 1px dotted #94ED68; margin: 8px auto 0px auto; padding: 5px; 
color:#39502E; font: 11px tahoma, verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"><b>Unhidden Content</b></div>
<div style="background-color: #F3FFED; border-bottom: 1px dotted #94ED68; border-left: 4px solid #94ED68; border-right: 1px dotted #94ED68; /*border-top: 1px dotted #94ED68;*/ color: #39502E; font: 12px tahoma, verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif; margin: 0px auto 8px auto; padding: 5px;"><div style="margin:0px; padding:6px; border:0px inset; width:90%;  overflow:auto">
      5 Type : 
Global
      5 Varname : 
post_unhidden_2
      5 Phrase : 
</div>
</div>
<br />
      6 Type : 
Global
      6 Varname : 
quote_hidden
      6 Phrase : 
[b]Hidden Information cannot be quoted![/b]
      7 Type : 
Global
      7 Varname : 
preview_hidden
      7 Phrase : 
This post contain Hidden Information and cannot be previewed.
      8 Type : 
Global
      8 Varname : 
print_hidden
      8 Phrase : 
[b]This post contain Hidden Information and cannot be printed.[/b]
      9 Type : 
Global
      9 Varname : 
search_hidden
      9 Phrase : 
[b]This post contain Hidden Information.[/b]
      10 Type : 
Global
      10 Varname : 
archive_hidden
      10 Phrase : 
[b]This post contain Hidden Information.[/b]
          

      BB Code 
      Title: 
Hide
      Tag: 
hide
      Replacement: 
[hide]{param}[/hide]
      Example: 
[hide]Hidden Information goes here[/hide]
      Description: 
The [hide] tag allows you to hide information within your posts.
      Use {option}: 
NO
      Button Image 
images/hide.gif
            

